// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;

#include "MySqlForceIndexHint.h"
#include "../visitor/MySqlASTVisitor.h"
#include "../../../../utils/listTran.h"
#include "../../../ast/SQLName.h"

MySqlForceIndexHint::MySqlForceIndexHint()
{
}

// @Override
void MySqlForceIndexHint::accept0(MySqlASTVisitor_ptr visitor)
{
  if (visitor->visit(SharedObject(MySqlForceIndexHint)))
  {
    SQLObject_list_ptr tmp1 = ListTran::tran_class<SQLName, SQLObject>(getIndexList());
    acceptChild(visitor, tmp1);
  }
  visitor->endVisit(SharedObject(MySqlForceIndexHint));
}

SQLObject_ptr MySqlForceIndexHint::clone()
{
  SQLObject_ptr clone_tmp = std::shared_ptr<MySqlForceIndexHint>(new MySqlForceIndexHint());
  std::shared_ptr<MySqlForceIndexHint> x = std::dynamic_pointer_cast<MySqlForceIndexHint>(clone_tmp);
  // MySqlForceIndexHint x = new MySqlForceIndexHint();
  cloneTo(x);
  return x;
}
